package com.hong.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;

/**
 * @Auther: csh
 * @Date: 2019/11/19 19:41
 * @Description:查询当前用户的任务列表
 */
public class ActivitiTaskQuery {
    public static void main(String[] args) {
        //1.得到ProcessEngine对象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        //2.得到taskService
        TaskService taskService = processEngine.getTaskService();
        /*//3.根据流程定义的key,负责人assignee来实现当前用户的任务列表查询
        List <Task> list = taskService.createTaskQuery()
                .processDefinitionKey("myProcess_1")
                .taskAssignee("lishi")
                .list();
        //4.任务列表的展示
        for (Task task : list) {
            System.out.println("流程实例ID"+task.getProcessDefinitionId());
            System.out.println("任务ID"+task.getId());
            System.out.println("任务负责人"+task.getAssignee());
            System.out.println("任务名称"+task.getName());
        }*/
        //3.根据流程定义的key,负责人assignee来实现当前用户的任务列表查询
        Task task1 = taskService.createTaskQuery()
                .processDefinitionKey("myProcess_1")
                .taskAssignee("wangwu")
                .singleResult();
        //4.任务列表的展示
        System.out.println("流程实例ID" + task1.getProcessDefinitionId());
        System.out.println("任务ID" + task1.getId());
        System.out.println("任务负责人" + task1.getAssignee());
        System.out.println("任务名称" + task1.getName());
    }
}
